class Login {
    returnUrl = '';
    constructor() {
        // 设置回跳地址
        let address = location.search
        if (address) {
            address = address.split('=')[1];
            this.returnUrl = address;
        }

        // 登录按钮绑定点击事件
        this.$('#button').addEventListener('click', this.checkLogin)
    }

    /*****登录*****/
    checkLogin = () => {
        // console.log(1111);
        // 获取表单中的数据
        let form = document.forms.login.elements;
        // console.log(form);
        let username = form.username.value;
        let password = form.password.value;
        // console.log(username, password);

        // 非空验证
        if (!password || !username) {
            alert('输入错误');
            return;
        }

        // 设置编码方式
        axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded';

        // 发送ajax请求，登录
        let param = `username=${username}&password=${password}`;
        axios.post('http://localhost:8888/users/login', param).then(({ status, data }) => {
            console.log(status, data);
            // 判断是否登录成功
            if (status != 200 || data.code != 1) {
                alert('登录失败');
                return;
            }

            // 将token进行储存
            localStorage.setItem('token', data.token);

            // 储存id
            localStorage.setItem('user_id', data.user.id);

            // 储存nickname
            localStorage.setItem('user_nickname', data.user.nickname)
            // let abc = localStorage.getItem('user_nickname')
            // console.log(abc);

            // 回跳到原来的页面
            // 如果returnUrl为空则回到index，如果有值则回到原来的页面
            this.returnUrl ? location.assign(this.returnUrl) : location.assign('../index.html')
        })
    }

    // 获取节点的方法
    $(ele) {
        let res = document.querySelectorAll(ele);
        return res.length == 1 ? res[0] : res;
    }
}

new Login;